1. Field of the Invention
The present invention relates to numerical modeling techniques used in engineering, and particularly to a computerized method of identifying Hammerstein models with known nonlinearity structures using particle swarm optimization.
2. Description of the Related Art
The Hammerstein model belongs to a family of block-oriented models, and is made up of a memoryless nonlinear part followed by a linear dynamic part. FIG. 1 illustrates a diagrammatic overview of the basic Hammerstein model structure 10, with a static nonlinear part 12 and a linear dynamic part 14. The Hammerstein model has been known to effectively represent and approximate several industrial processes, such as pH neutralization processes, distillation column processes, and heat exchange processes. Hammerstein models have also been used to successfully model nonlinear filters, biological systems, water heaters, nonlinear networks, the detection of signals in non-Gaussian noise, nonlinear prediction, nonlinear data transmission channels, control systems, noise cancellation, heat exchangers, and electrical drives. These examples illustrate the need for algorithms that are effectively able to recover nonlinearities in systems of various kinds.
A significant amount of research has been carried out on identification of Hammerstein models. Systems can be modeled by employing either nonparametric or parametric models. Nonparametric representations involve kernel regression or expansion of series, such as the Volterra series. This results in a theoretically infinite number of model parameters, and is therefore represented in terms of curves, such as step responses or bode diagrams. Parametric representations, such as state-space models, are more compact, as they have fewer parameters and the nonlinearity is expressed as a linear combination of finite and known functions.
Development of nonlinear models is the critical step in the application of nonlinear model-based control strategies. Nonlinear behavior is prominent in the dynamic behavior of physical systems. Most physical devices have nonlinear characteristics outside a limited linear range. In most chemical processes, for example, understanding the nonlinear characteristics is important for designing controllers that regulate the process. It is rather difficult, yet necessary, to select a reasonable structure for the nonlinear model to capture the process nonlinearities. The nonlinear model used for control purposes should be as simple as possible, warranting minimal computational load and, at the same time, retaining most of the nonlinear dynamic characteristics of the system.
Many model structures have been proposed for the identification of nonlinear systems. The nonlinear static block followed by a dynamic block in the Hammerstein structure has been found to be a simple and effective representation for capturing the dynamics typical of such chemical engineering processes as distillation columns and heat exchangers, for example. Nonlinear system identification involves the following tasks: structure selection, including selection of suitable nonlinear model structures and the number of model parameters; input sequence design, including the determination of the input sequence u(k), which is injected into the system to generate the output sequence y(k); noise modeling, which includes the determination of the dynamic model that generates the noise input w(k); parameter estimation, which includes estimation of the remaining model parameters from the dynamic system data u(k) and y(k), and the noise input w(k); and model validation, including the comparison of system data and model predictions for data not used in model development. In FIG. 1, the input u(k) is a parameter of the static nonlinearity 12, which operates on the input to produce the median or temporary data x(k), which is fed as input to the linear dynamic part 14. Any noise input w(k) mixes within a system component 16, resulting in the output y(k).
Many different techniques have been proposed for the black-box estimation of Hammerstein systems from input-output measurements. These techniques mainly differ in the way that static nonlinearity is represented and in the type of optimization problem that is finally obtained. In parametric approaches, the static nonlinearity is expressed in a finite number of parameters. Both iterative and non-iterative methods have been used for determination of the parameters of the static-nonlinear and linear-dynamic parts of the model. Typical techniques, however, are extremely costly in terms of computational time and energy.
For the parametric methods noted above, the Hammerstein model is represented as:
                              y          ⁡                      (            k            )                          =                                                            B                ⁡                                  (                                      q                                          -                      1                                                        )                                                            A                ⁡                                  (                                      q                                          -                      1                                                        )                                                      ⁢                          x              ⁡                              (                k                )                                              +                      w            ⁡                          (              k              )                                                          (        1        )            whereB(q−1)=b0+b1q−1+ . . . +bmq−m;  (2) andA(q−1)=1+a1q−1+ . . . +anq−n.  (3)
The non-measured, intermediate variable x(k) is the output of the static nonlinearity, and is given by:x(k)=c1u(k)+c2u2(k)+ . . . +cLuL(k),  (4)where q−1 is the unit delay operator, u(k) is the input, y(k) is the output, w(k) is the measurement noise, (m,n) represent the order of the linear part, and L is the degree of the polynomial. Thus, the problem of Hammerstein model identification is, essentially, the estimation of the unknown parameters a1, . . . , an, b0, . . . , bm and c1, . . . , cL from input-output data.
The unknown parameters are estimated by transforming the problem into a multi-input single-output (MISO) linear identification problem. The inputs to the MISO linear system are u(t), u2(t), . . . , uL(t). The primary drawbacks of this approach are the assumption that the nonlinearity is of polynomial form and the increase in the number of inputs in the linear identification problem. Further, it has been shown that if the nonlinearity is not a polynomial and if the input is not Gaussian, these algorithms do not converge.
As noted above, a variety of nonparametric approaches have been used for Hammerstein model identification. Most of the nonparametric methods use kernel regression estimates to identify the nonlinearity. In these methods, the identification of the nonlinearity is performed separately from the linear part. Recently, neural networks have been used to model the nonlinearity in the Hammerstein model for both single-input single-output (SISO) systems and also multi-input multi-output (MIMO) systems.
None of these methods, however, have considered the case where the structure of the nonlinearity is known with unknown parameters. This case arises in many practical applications, including nonlinear actuators in control systems. Examples of nonlinearities in the actuators include saturation, dead zones, backlash, Coulomb friction, etc. Typically, the mathematical model structure of these nonlinearities is known, but some or all model parameters are not known. Moreover, previous methodologies cannot be used to identify Hammerstein models with non-minimum phase linear parts. Although this problem has been addressed using genetic algorithms, there is a large amount of room for improvement in terms of speed of convergence and accuracy.
In order to improve both speed of convergence and accuracy, it would be desirable to apply an efficient optimization method to such genetic algorithm approaches, such as particle swarm optimization (PSO). Particle swarm optimization (PSO) has been used extensively in solving a wide variety of optimization searching problems. Compared to conventional optimization methods, PSO does not assume that the search space is differentiable or continuous. Further, PSO does not require linearity in the parameters, which is needed in iterative searching optimization techniques. This property of PSO makes it suitable to the identification of Hammerstein models with nonlinearities of known structure and unknown parameters (which represents a nonlinearity in the parameters identification problem).
In the PSO method, the input-output measurement data are used to estimate the model parameters such that a certain objective function is minimized. The advantages of using PSO include the possibility of identifying Hammerstein models with non-minimum phase linear parts and any nonlinearity with known structure and unknown parameters. Particle swarm optimization (PSO) was developed through simulation of a simplified social system. In the simulation model of a social system, each particle position can be thought of as a “state of mind” of a particular setting of abstract variables that represent the individual's beliefs and attitudes. The movement of the particles thus corresponds to the change of these concepts. Swarms or social groups adjust their beliefs and attitudes through the evaluation of stimuli from the environment and compare it to their existing knowledge. If such stimuli or values are found to be more fit, they replace their existing values. These three important properties of human or animal social behavior (i.e., evaluation, comparison, and imitation) are the inspiration for the particle swarm optimization algorithm, and the particle swarm uses these concepts in adapting to environmental changes and solving complex minimization problems.
In addition to being a model of human or animal behavior, the particle swarm is closely related to swarm intelligence. Using PSO, there is no central control and no one gives orders. Each particle is a simple agent acting upon local information. However, the swarm, as a whole, is able to perform tasks whose degree of complexity is well beyond the capabilities of an individual particle. This is due to self-organization. The interactions among the particles (i.e., low level components) result in complex structures at the swarm (i.e., high-level or global) level making is possible to perform optimization of complex functions. The basic principles of PSO are:                a) The proximity principle: The swarm should be able to carry out simple time and space calculations;        b) The quality principle: The swarm should be able to respond to quality factors in the environment;        c) The principle of diverse response: The swarm should not commit its activities along excessively narrow channels;        d) The principle of stability: The swarm should not change its behavior every time the environment changes; and        e) The principle of adaptability: The swarm must be able to change its behavioral mode when it is worth the computational price.        
Thus, the PSO system is thought of as an intelligent system. This is because it is based upon artificial life and has roots in Evolutionary Computation (EC). As in other Evolutionary Computation methods, the particle swarm consists of a population of individuals that represent solutions to the optimization problems needed to be solved. An optimal solution is selected through an iterative and probabilistic modification of these solutions. Although large similarities exist between PSO and other Evolutionary Algorithms (EAs) (in EC terms), the true difference lies in how the population/swarm is changed from one iteration to the next. In typical EAs, genetic operators, such as selection, mutation and crossover, are used. In PSO, the particles are modified according to two formulae after each iteration. Further, conceptually, in PSO, the particles remain alive and inhabit the search space during the entire run, whereas in typical EA, the individuals are replaced in each generation. Another fundamental conceptual difference is that in EA, the objective is reached through competitive search, whereas in PSO, it is reached through cooperative search.
The various EA techniques have been successfully applied in many areas. However, PSO is a more robust and more efficient (in terms of time and computation power) algorithm that can solve nonlinear, non-differentiable, multi-modal problems. Such problems involve the minimization of a static objective function; i.e., the main goal of a global minimizer that does not change. The PSO technique can generate a high-quality solution within a shorter calculation time (and with stable convergence) when compared with other stochastic methods.
Due to this ability, PSO is effective in solving problems in a wide variety of scientific fields. As with other EAs, a population of individuals exist in PSO. However, instead of using genetic operators, these individuals are “evolved” through cooperation and competition among themselves, through successive generations. Each particle adjusts its “flight” according to its own experience, as well as its companions' experiences. Each individual, termed a “particle”, represents a potential solution to the problem.
In PSO, each particle is treated as a point in D-dimensional space. The i-th particle is represented as:Xi=(xi1,xi2, . . . ,xiD),  (5)with the best previous position (i.e., the position giving the best fitness value) of any particle being recorded and represented as:Pi=(pi1,pi2, . . . ,piD)  (6)and with the position change (i.e., velocity) of each particle being given by:Vi=(vi1,vi2, . . . ,viD).  (7)The particles are manipulated according to the following:Vin+1=w*Vin+c1*ri1n*(Pin−Xin)+C2*ri2n*(Pgn−Xin)  (8a)Xin+1=Xin+x*Vin+1.  (8b)
Thus, a method of identifying Hammerstein models with known nonlinearity structures using particle swarm optimization solving the aforementioned problems is desired.